import 'package:bxultimate/app/pages/im/video_chat/binding.dart';
import 'package:bxultimate/app/pages/im/video_chat/view.dart';
import 'package:bxultimate/app/router/children/application.dart';
import 'package:bxultimate/app/router/children/common.dart';
import 'package:bxultimate/app/router/children/home.dart';
import 'package:bxultimate/app/router/children/publish.dart';
import 'package:bxultimate/app/router/children/shop.dart';
import 'package:bxultimate/app/router/children/user.dart';
import 'package:bxultimate/app/router/children/user_auth.dart';
import 'package:bxultimate/app/router/middleware/LoginUserMiddleware.dart';
import 'package:get/get.dart';
import 'package:bxultimate/app/pages/package.dart';
import 'router_name.dart';

class RouterPage {
  static final List<GetPage> routes = [
    GetPage(
      name: RouterName.splash,
      page: () => const SplashPage(),
    ),
    GetPage(
      name: RouterName.main,
      page: () => Navigation(),
    ),
    GetPage(
      name: RouterName.imVideoChat,
      binding: VideoChatBinding(),
      page: () => VideoChatPage(),
    ),
    GetPage(
      name: RouterName.mkWebView,
      binding: MkWebviewBinding(),
      page: () => MkWebviewPage(),
      middlewares: [
        LoginUserMiddleware()
      ]
    ),

    GetPage(
        name: RouterName.commonScanLoginWeb,
        binding: ScanLoginWebBinding(),
        page: () => ScanLoginWebPage(),
        middlewares: [
          LoginUserMiddleware()
        ]
    ),

    ...homeRouters,
    ...userRouters,
    ...userAuthRouters,
    ...publishRouters,
    ...commonRouters,
    ...shopRouters,
    ...applicationRouters
  ];
}
